"""
设置一个退出标志：
在运行 run_forever() 的外部定义一个全局变量作为退出标志，
并在需要关闭连接的地方将其设置为True。
然后，在 on_message() 或其他回调函数（如 on_error()、on_close() 等）中检查这个标志，
当满足特定条件或接收到信号时调用 ws_app.close()。
"""
import websocket


should_close = False


def on_message(ws_app, message):
    print(message)
    # 检查是否需要关闭连接
    if should_close:
        ws_app.close()


ws = websocket.WebSocketApp("wss://testnet-explorer.binance.org/ws/block", on_message=on_message)


# 当你需要关闭连接时
def close_websocket():
    global should_close
    should_close = True
    ws.close()


# 开始监听
ws.run_forever()

